At present, data processing using a computer is prevailed and the storage technique for storing and utilizing data takes a more important role. A distributed storage system has recently been constructed in order to increase reliability in storage of data and to speed up utilization of data.
In the distributed storage system, a plurality of storage nodes are interconnected via a network. Each of the storage nodes includes a storage device and stores data. Data can be stored in the storage nodes in a distributed manner. With such distribution of data, a load can be distributed to the plurality of storage nodes and a system speed can be increased. Further, access nodes can be arranged in plural storage nodes with redundancy of data. As a result, reliability in storage of data can be increased.
In management of system operations, loads generated in nodes constituting the system are monitored. Monitoring the loads makes it possible to specify a node on which the load tends to concentrate and a node which has a sufficient processing capability. Tuning of the entire system, leveling of data capacity, expansion of hardware resources, addition of functions, etc. can be properly performed based on the monitoring results depending on respective utilization statues of the nodes.
In a disk array device, for example, it is considered to obtain frequency of accesses to a plurality of built-in disk devices, a read/write time for each access, etc. One practically conceivable proposal is to move one or more of plural stripes on the disk devices, for which the access frequency is relatively high, onto one of the disk devices which has higher performance than the currently used disk device. Another practically conceivable proposal is to change an arrangement destination of data stored in a logical unit (resulting from coupling two or more logical areas together) to another logical unit depending on not only information obtained for each logical area in the disk array device, but also on given conditions (such as demanded levels of performance and reliability).
In the distributed storage system, a logical area (logical volume) is prepared over a plurality of storage nodes. The logical volume is managed in a way divided into a plurality of actual storage areas (slices) prepared on the disk device. For example, a plurality of slices on a plurality of storage nodes are made correspondent to a single logical volume.
Hitherto, however, there has not been a technique for collecting load information per slice from the plurality of storage nodes. In the distributed storage system where slice assignment to the storage nodes is executed via the network, therefore, loads cannot be leveled among the storage nodes in consideration of the load of each slice.